package com.cloudkinto.service.orderqoo;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cloudkinto.bo.order.OrderQooQueryBo;
import com.cloudkinto.common.web.PageResult;
import com.cloudkinto.common.web.SingleResult;
import com.cloudkinto.entity.OrderQoo10Do;
import com.cloudkinto.service.orderoutput.vo.OrderOutputAddReq;
import com.cloudkinto.service.orderqoo.vo.*;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  service接口
 * </p>
 * @author zhangyy
 * @since 2020-08-13
 */
public interface OrderQoo10Service extends IService<OrderQoo10Do> {

    SingleResult addInit(Long userId,Long companyId);

    void downloadQooOrders(QooDownloadReq req, Long userId, Long companyId);

    SingleResult sendOut(QooSendOutReq req, Long userId, Long companyId);

    SingleResult sendOutMatch(List<OrderOutputAddReq> orderOutputAddReqList, Long userId, Long companyId);

    void markSendOut(List<Long> ids, Long userId, Long companyId);

    SingleResult updateInit(Long id);

    int update(QooUpdateReq updateVo, Long userId);

    int delete(Long id, Long userId);

    QooDetailRes detail(Long id);

    SingleResult pageInit(Long userId,Long companyId);

//    List<QooListPageRes> getList(Map<String, String> map);

    PageResult getListPage(OrderQooQueryBo bo);

    void exportExcel(OrderQooQueryBo bo, HttpServletResponse response) throws IOException;
}
